package com.slm.report.di;

import com.slm.mylibrary.di.ActivityScoped;
import com.slm.report.ui.HomePageActivity;
import com.slm.report.ui.StudentInfoActivity;
import com.slm.report.ui.fragment.CalendarFragment;
import com.slm.report.ui.fragment.DegreeListFragment;
import com.slm.report.ui.fragment.ReportFragment;
import com.slm.report.ui.fragment.StudentInfoFragment;
import com.slm.report.ui.fragment.VisionListFragment;

import dagger.Module;
import dagger.android.ContributesAndroidInjector;

/**
 * @ProjectName: My Application
 * @Package: com.slm.report.di
 * @ClassName: AppBindingModule
 * @Description: java类作用描述
 * @Author: 王丹丹
 * @CreateDate: 2020/5/29 22:41
 * @UpdateUser: 更新者
 * @UpdateDate: 2020/5/29 22:41
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
@Module
public abstract class AppBindingModule {

    @ActivityScoped
    @ContributesAndroidInjector(modules = HomePageDaggerModule.class)
    abstract HomePageActivity homePageActivity();


    @ActivityScoped
    @ContributesAndroidInjector(modules = StudentInfoActivityDaggerModule.class)
    abstract StudentInfoActivity studentInfoActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = StudentInfoDaggerModule.class)
    abstract StudentInfoFragment studentInfoFragment();

    @ActivityScoped
    @ContributesAndroidInjector(modules = VisionListDaggerModule.class)
    abstract VisionListFragment visionListFragment();

    @ActivityScoped
    @ContributesAndroidInjector(modules = DegreeListDaggerModule.class)
    abstract DegreeListFragment degreeListFragment();

    @ActivityScoped
    @ContributesAndroidInjector(modules = CalendarDaggerModule.class)
    abstract CalendarFragment calendarFragment();


    @ActivityScoped
    @ContributesAndroidInjector(modules = ReportDaggerModule.class)
    abstract ReportFragment reportFragment();

}
